Ignore events and break any grabs while the window is being dragged.
authorRichard Hult <richard@imendio.com>
Sat, 16 Jun 2007 21:39:42 +0000 (21:39 +0000)
committerRichard Hult <rhult@src.gnome.org>
Sat, 16 Jun 2007 21:39:42 +0000 (21:39 +0000)
2007-06-16  Richard Hult  <richard@imendio.com>

* gdk/quartz/gdkevents-quartz.c: (gdk_event_translate): Ignore
events and break any grabs while the window is being dragged.

svn path=/trunk/; revision=18165

ChangeLog
gdk/quartz/gdkevents-quartz.c

index a7d7b1922448c2080bb0a8d776605d82ca991f7b..5f0af60de5dbffd7c77a3e0825daff73601c3c5a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-06-16  Richard Hult  <richard@imendio.com>
+
+       * gdk/quartz/gdkevents-quartz.c: (gdk_event_translate): Ignore
+       events and break any grabs while the window is being dragged.
+
 2007-06-16  Richard Hult  <richard@imendio.com>
 
        * gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_transient_for):
index 4d5aa49c3d16eb728954d3fd31c695b37bb71866..c69a822617ff468d5a594a59bfb2bd3efff57a22 100644 (file)
@@ -1503,6 +1503,16 @@ gdk_event_translate (NSEvent *nsevent)
   if (!nswindow || ![[nswindow contentView] isKindOfClass:[GdkQuartzView class]])
     return FALSE;
 
+  /* Ignore events and break grabs while the window is being
+   * dragged. This is a workaround for the window getting events for
+   * the window title.
+   */
+  if ([(GdkQuartzWindow *)nswindow isInMove])
+    {
+      break_all_grabs ();
+      return FALSE;
+    }
+
   /* Apply any global filters. */
   if (_gdk_default_filters)
     {